package com.ymcv.proyecto7.model.dao;

import com.ymcv.proyecto7.model.entity.Usuario;

import android.content.ContentValues;
import android.content.Context;

public class UsuarioDao extends ICRUD {

	public UsuarioDao(Context context) {
		super(context);
	}

	public String obtenerRegId() {
		String regid = "";
		db = util.getReadableDatabase();
		c = db.rawQuery("select regid from Usuario where ID=?",
				new String[] { "1" });
		if (c.moveToFirst()) {
			regid = c.getString(c.getColumnIndex("regid"));
		}
		cerrar();
		return regid;
	}

	public Usuario obtenerUsuario() {
		Usuario usuario = null;
		db = util.getReadableDatabase();
		c = db.rawQuery("select * from Usuario where ID=?",
				new String[] { "1" });
		if (c.moveToFirst()) {
			usuario = new Usuario();
			usuario.setID(c.getInt(c.getColumnIndex("ID")));
			usuario.setId_unidad(c.getInt(c.getColumnIndex("id_unidad")));
			usuario.setNombres(c.getString(c.getColumnIndex("nombres")));
			usuario.setApellidos(c.getString(c.getColumnIndex("apellidos")));
			usuario.setCorreo(c.getString(c.getColumnIndex("correo")));
			usuario.setBrevete(c.getString(c.getColumnIndex("brevete")));
			usuario.setPlaca(c.getString(c.getColumnIndex("placa")));
			usuario.setClave(c.getString(c.getColumnIndex("clave")));
			usuario.setRegid(c.getString(c.getColumnIndex("regid")));
			usuario.setSeg_res(c.getInt(c.getColumnIndex("seg_res")));
			usuario.setAcepta_res(c.getInt(c.getColumnIndex("acepta_res")));
			usuario.setPos_libre(c.getInt(c.getColumnIndex("pos_libre")));
			usuario.setLat(c.getDouble(c.getColumnIndex("lat")));
			usuario.setLon(c.getDouble(c.getColumnIndex("lon")));
			usuario.setIntentos(c.getInt(c.getColumnIndex("intentos")));
			usuario.setFecha_mod(c.getString(c.getColumnIndex("fecha_mod")));
		}
		cerrar();
		return usuario;
	}

	public int crear(Usuario usuario) {
		db = util.getWritableDatabase();
		db.beginTransaction();
		cv = new ContentValues();
		cv.put("regid", usuario.getRegid());
		int id = (int) db.insert("Usuario", null, cv);
		if (id > 0) {
			db.setTransactionSuccessful();
		}
		cerrar();
		return id;
	}

	public int actualizarPunto(Usuario usuario){
		db = util.getWritableDatabase();
		db.beginTransaction();
		cv = new ContentValues();
		cv.put("lat", usuario.getLat());
		cv.put("lon", usuario.getLon());
		int id = (int) db.update("Usuario", cv, "ID=?", new String[] { ""
				+ usuario.getID() });
		if (id > 0) {
			db.setTransactionSuccessful();
		}
		cerrar();
		return id;
	}
	public int actualizarIntentos(Usuario usuario){
		db = util.getWritableDatabase();
		db.beginTransaction();
		cv = new ContentValues();
		cv.put("intentos", usuario.getIntentos());
		cv.put("fecha_mod", usuario.getFecha_mod());
		int id = (int) db.update("Usuario", cv, "ID=?", new String[] { ""
				+ usuario.getID() });
		if (id > 0) {
			db.setTransactionSuccessful();
		}
		cerrar();
		return id;
	}
	
	public int actualizar(Usuario usuario) {
		db = util.getWritableDatabase();
		db.beginTransaction();
		cv = new ContentValues();
		cv.put("id_unidad", usuario.getId_unidad());
		cv.put("nombres", usuario.getNombres());
		cv.put("apellidos", usuario.getApellidos());
		cv.put("correo", usuario.getCorreo());
		cv.put("brevete", usuario.getBrevete());
		cv.put("placa", usuario.getPlaca());
		cv.put("clave", usuario.getClave());
		cv.put("regid", usuario.getRegid());
		cv.put("seg_res", usuario.getSeg_res());
		cv.put("acepta_res", usuario.getAcepta_res());
		cv.put("pos_libre", usuario.getPos_libre());
		cv.put("lat", usuario.getLat());
		cv.put("lon", usuario.getLon());
		cv.put("intentos", usuario.getIntentos());
		cv.put("fecha_mod", usuario.getFecha_mod());
		int id = (int) db.update("Usuario", cv, "ID=?", new String[] { ""
				+ usuario.getID() });
		if (id > 0) {
			db.setTransactionSuccessful();
		}
		cerrar();
		return id;
	}
}
